package com.qiuyuliantu.base.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qiuyuliantu.common.annotation.Excel;
import com.qiuyuliantu.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 存储情侣的亲人信息对象 sys_user_info
 *
 * @author ruoyi
 * @date 2025-04-02
 */
public class QiuUserInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 亲人信息唯一标识符
     */
    private Long id;

    /**
     * 关联情侣用户ID
     */
    @Excel(name = "关联情侣用户ID")
    private Long userId;

    /**
     * 亲人姓名
     */
    @Excel(name = "亲人姓名")
    private String relativeName;

    /**
     * 与情侣用户的关系
     */
    @Excel(name = "与情侣用户的关系")
    private String relationToUser;

    /**
     * 亲人性别
     */
    @Excel(name = "亲人性别")
    private String gender;

    /**
     * 亲人出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "亲人出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateOfBirth;

    /**
     * 亲人电话号码
     */
    @Excel(name = "亲人电话号码")
    private String phoneNumber;

    /**
     * 亲人电子邮件
     */
    @Excel(name = "亲人电子邮件")
    private String email;

    /**
     * 亲人地址
     */
    @Excel(name = "亲人地址")
    private String address;

    /**
     * 亲人结婚纪念日
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "亲人结婚纪念日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date anniversaryDate;

    /**
     * 亲人特殊日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "亲人特殊日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date specialEventDate;

    /**
     * 特殊日期描述
     */
    @Excel(name = "特殊日期描述")
    private String specialEventDescription;
    @Excel(name = "关联的用户情侣")
    private String nickName;
    /**
     * 亲人照片链接
     */
    @Excel(name = "亲人照片链接")
    private String photoUrl;

    @Excel(name = "创建人")
    private String createBy;
    @Excel(name = "修改人")
    private String updateBy;
    /**
     * 亲人备注信息
     */
    @Excel(name = "亲人备注信息")

    private String notes;
    //备注
    @Excel(name = "备注")
    private String remark;
    @Excel(name = "删除标识")
    private String delFlag;

    public QiuUserInfo() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getRelativeName() {
        return relativeName;
    }

    public void setRelativeName(String relativeName) {
        this.relativeName = relativeName;
    }

    public String getRelationToUser() {
        return relationToUser;
    }

    public void setRelationToUser(String relationToUser) {
        this.relationToUser = relationToUser;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Date getDateOfBirth() {
        return dateOfBirth;
    }

    public void setDateOfBirth(Date dateOfBirth) {
        this.dateOfBirth = dateOfBirth;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Date getAnniversaryDate() {
        return anniversaryDate;
    }

    public void setAnniversaryDate(Date anniversaryDate) {
        this.anniversaryDate = anniversaryDate;
    }

    public Date getSpecialEventDate() {
        return specialEventDate;
    }

    public void setSpecialEventDate(Date specialEventDate) {
        this.specialEventDate = specialEventDate;
    }

    public String getSpecialEventDescription() {
        return specialEventDescription;
    }

    public void setSpecialEventDescription(String specialEventDescription) {
        this.specialEventDescription = specialEventDescription;
    }

    public String getPhotoUrl() {
        return photoUrl;
    }

    public void setPhotoUrl(String photoUrl) {
        this.photoUrl = photoUrl;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }
    @Override
    public String getCreateBy() {
        return createBy;
    }

    @Override
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    @Override
    public String getUpdateBy() {
        return updateBy;
    }
    /** 爱好 */
    @Excel(name = "爱好")
    private String hobbies;
    /** 生辰八字 */
    @Excel(name = "生辰八字")
    private String bazi;
    @Override
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("relativeName", getRelativeName())
                .append("relationToUser", getRelationToUser())
                .append("gender", getGender())
                .append("dateOfBirth", getDateOfBirth())
                .append("phoneNumber", getPhoneNumber())
                .append("email", getEmail())
                .append("address", getAddress())
                .append("anniversaryDate", getAnniversaryDate())
                .append("specialEventDate", getSpecialEventDate())
                .append("specialEventDescription", getSpecialEventDescription())
                .append("photoUrl", getPhotoUrl())
                .append("notes", getNotes())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("createBy", getCreateBy())
                .append("remark", getRemark())
                .append("delFlag", getDelFlag())
                .append("nickName", getNickName())
                .append("bazi", getBazi())
                .append("hobbies", getHobbies())
                .toString();
    }


    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getHobbies() {
        return hobbies;
    }

    public void setHobbies(String hobbies) {
        this.hobbies = hobbies;
    }

    public String getBazi() {
        return bazi;
    }

    public void setBazi(String bazi) {
        this.bazi = bazi;
    }
}
